A method of storing real data in a DataBase Server (DBS) using Mem-cache-D (Memcached) serving as a key-value cache server uses a distribution cache server and selects a cache node from a client library through consistent hashing to process the input/output of data. The client program is in charge of cache management and processes the data with a cache server and a DBS, separate from the client program.
In a Fast Array of Wimpy Nodes (FAWN), suggested by Carnegie Mellon University (CMU), key-value storage is configured with a cluster including a Solid State Disk (SSD) and a node with low-specificity; wherein the client accesses one front-end node to request a key-value operation. The front-end designates a backend node to store a corresponding key-value via consistent hashing, according to the request from the client, and requests the back-end node to store data thereon. The front-end keeps the result of the request in memory to provide the cashed data to the client without the back-end node when the get operation is performed later.
In conventional art, the method using the structure of Memcached has been used to improve the performance of the get operation and the high performance server-based key-value storage. However, the conventional Memcached based method is disadvantageous in that: a large amount of energy is consumed; the client needs to be directly in charge of cache management; and, when a cache miss occurs, communication is performed twice with the server (once by the Memcached and once again by a storage server), which causes a communication overhead.
In the conventional FAWN system, since the client accesses only one service front-end node to receive a key-value service, a bottleneck at a specific front-end node occurs; and since a cache is maintained only on the memory of the service front-end node, the cache is small in size.